\hypertarget{class_zebulon_1_1_underwater_1_1_global_pose_sensor}{
\section{Zebulon::Underwater::GlobalPoseSensor Class Reference}
\label{class_zebulon_1_1_underwater_1_1_global_pose_sensor}\index{Zebulon::Underwater::GlobalPoseSensor@{Zebulon::Underwater::GlobalPoseSensor}}
}


A JAUS Global Pose Sensor for the Robotics Club Underwater Vehicle that supplies roll, pitch, yaw information.  


{\ttfamily \#include $<$globalposesensor.h$>$}Inheritance diagram for Zebulon::Underwater::GlobalPoseSensor::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{class_zebulon_1_1_underwater_1_1_global_pose_sensor}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_zebulon_1_1_underwater_1_1_global_pose_sensor_a91d23962137d43b60fe75a4fedfd8fc1}{
\hyperlink{class_zebulon_1_1_underwater_1_1_global_pose_sensor_a91d23962137d43b60fe75a4fedfd8fc1}{GlobalPoseSensor} ()}
\label{class_zebulon_1_1_underwater_1_1_global_pose_sensor_a91d23962137d43b60fe75a4fedfd8fc1}

\begin{DoxyCompactList}\small\item\em Constructor. \item\end{DoxyCompactList}\item 
\hypertarget{class_zebulon_1_1_underwater_1_1_global_pose_sensor_a28389da171dc8af052e5e2e74ac350c1}{
\hyperlink{class_zebulon_1_1_underwater_1_1_global_pose_sensor_a28389da171dc8af052e5e2e74ac350c1}{$\sim$GlobalPoseSensor} ()}
\label{class_zebulon_1_1_underwater_1_1_global_pose_sensor_a28389da171dc8af052e5e2e74ac350c1}

\begin{DoxyCompactList}\small\item\em Destructor. \item\end{DoxyCompactList}\item 
virtual int \hyperlink{class_zebulon_1_1_underwater_1_1_global_pose_sensor_a0aec33d46ea1389791fdf0fc3f6ef6b3}{SetupService} ()
\begin{DoxyCompactList}\small\item\em This method is called to indicate what type of input/output messages and service the component supports. \item\end{DoxyCompactList}\item 
virtual void \hyperlink{class_zebulon_1_1_underwater_1_1_global_pose_sensor_a980a856fadd0e8aa3f6a47c46d4876bb}{ProcessMessage} (const \hyperlink{class_zebulon_1_1_coral_a_h_r_s_1_1_message}{CoralAHRS::Message} $\ast$message)
\begin{DoxyCompactList}\small\item\em This method converts the callback data from the sensor to Global Pose data and saves it internally. \item\end{DoxyCompactList}\item 
int \hyperlink{class_zebulon_1_1_underwater_1_1_global_pose_sensor_a83e80f0151bb5bdf4144dd89d6b513fb}{InitializeGlobalPoseSensor} (const std::string \&compassPortName)
\begin{DoxyCompactList}\small\item\em Initializes the sensors belonging to the global pose object, this does not initialize the JAUS component. \item\end{DoxyCompactList}\item 
\hypertarget{class_zebulon_1_1_underwater_1_1_global_pose_sensor_a5249ab2382a749d8f7f2d5e02410eee7}{
int \hyperlink{class_zebulon_1_1_underwater_1_1_global_pose_sensor_a5249ab2382a749d8f7f2d5e02410eee7}{ShutdownGlobalPoseSensor} ()}
\label{class_zebulon_1_1_underwater_1_1_global_pose_sensor_a5249ab2382a749d8f7f2d5e02410eee7}

\begin{DoxyCompactList}\small\item\em Shutsdown the Compass interface. \item\end{DoxyCompactList}\item 
bool \hyperlink{class_zebulon_1_1_underwater_1_1_global_pose_sensor_adf9bed5ffa270fe8b955b12956520d2d}{IsSensorInitialized} () const 
\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_zebulon_1_1_underwater_1_1_global_pose_sensor_af8f7d52de66dde63c04d3d2d03e327ab}{
CxUtils::Mutex \hyperlink{class_zebulon_1_1_underwater_1_1_global_pose_sensor_af8f7d52de66dde63c04d3d2d03e327ab}{mSensorMutex}}
\label{class_zebulon_1_1_underwater_1_1_global_pose_sensor_af8f7d52de66dde63c04d3d2d03e327ab}

\begin{DoxyCompactList}\small\item\em Mutex for sensor. \item\end{DoxyCompactList}\item 
\hypertarget{class_zebulon_1_1_underwater_1_1_global_pose_sensor_ab0e15091b9aa7ca98313f6e871428ac1}{
\hyperlink{class_zebulon_1_1_coral_a_h_r_s_1_1_interface}{CoralAHRS::Interface} \hyperlink{class_zebulon_1_1_underwater_1_1_global_pose_sensor_ab0e15091b9aa7ca98313f6e871428ac1}{mCompass}}
\label{class_zebulon_1_1_underwater_1_1_global_pose_sensor_ab0e15091b9aa7ca98313f6e871428ac1}

\begin{DoxyCompactList}\small\item\em Digital compass interface. \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
A JAUS Global Pose Sensor for the Robotics Club Underwater Vehicle that supplies roll, pitch, yaw information. 

\subsection{Member Function Documentation}
\hypertarget{class_zebulon_1_1_underwater_1_1_global_pose_sensor_a83e80f0151bb5bdf4144dd89d6b513fb}{
\index{Zebulon::Underwater::GlobalPoseSensor@{Zebulon::Underwater::GlobalPoseSensor}!InitializeGlobalPoseSensor@{InitializeGlobalPoseSensor}}
\index{InitializeGlobalPoseSensor@{InitializeGlobalPoseSensor}!Zebulon::Underwater::GlobalPoseSensor@{Zebulon::Underwater::GlobalPoseSensor}}
\subsubsection[{InitializeGlobalPoseSensor}]{\setlength{\rightskip}{0pt plus 5cm}int GlobalPoseSensor::InitializeGlobalPoseSensor (const std::string \& {\em compassPortName})}}
\label{class_zebulon_1_1_underwater_1_1_global_pose_sensor_a83e80f0151bb5bdf4144dd89d6b513fb}


Initializes the sensors belonging to the global pose object, this does not initialize the JAUS component. 
\begin{DoxyParams}{Parameters}
\item[{\em compassPortName}]System name for compass port.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Jaus::JAUS\_\-OK if sensors initialized, otherwise Jaus::JAUS\_\-FAILURE. 
\end{DoxyReturn}
\hypertarget{class_zebulon_1_1_underwater_1_1_global_pose_sensor_adf9bed5ffa270fe8b955b12956520d2d}{
\index{Zebulon::Underwater::GlobalPoseSensor@{Zebulon::Underwater::GlobalPoseSensor}!IsSensorInitialized@{IsSensorInitialized}}
\index{IsSensorInitialized@{IsSensorInitialized}!Zebulon::Underwater::GlobalPoseSensor@{Zebulon::Underwater::GlobalPoseSensor}}
\subsubsection[{IsSensorInitialized}]{\setlength{\rightskip}{0pt plus 5cm}bool GlobalPoseSensor::IsSensorInitialized () const}}
\label{class_zebulon_1_1_underwater_1_1_global_pose_sensor_adf9bed5ffa270fe8b955b12956520d2d}
\begin{DoxyReturn}{Returns}
True if connected to sensors, otherwise false. 
\end{DoxyReturn}
\hypertarget{class_zebulon_1_1_underwater_1_1_global_pose_sensor_a980a856fadd0e8aa3f6a47c46d4876bb}{
\index{Zebulon::Underwater::GlobalPoseSensor@{Zebulon::Underwater::GlobalPoseSensor}!ProcessMessage@{ProcessMessage}}
\index{ProcessMessage@{ProcessMessage}!Zebulon::Underwater::GlobalPoseSensor@{Zebulon::Underwater::GlobalPoseSensor}}
\subsubsection[{ProcessMessage}]{\setlength{\rightskip}{0pt plus 5cm}void GlobalPoseSensor::ProcessMessage (const {\bf CoralAHRS::Message} $\ast$ {\em message})\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{class_zebulon_1_1_underwater_1_1_global_pose_sensor_a980a856fadd0e8aa3f6a47c46d4876bb}


This method converts the callback data from the sensor to Global Pose data and saves it internally. 
\begin{DoxyParams}{Parameters}
\item[\mbox{$\leftarrow$} {\em message}]\hyperlink{namespace_message}{Message} from CoralAHRS (DataEulerAndSensors). \end{DoxyParams}


Implements \hyperlink{class_zebulon_1_1_coral_a_h_r_s_1_1_interface_1_1_callback}{Zebulon::CoralAHRS::Interface::Callback}.\hypertarget{class_zebulon_1_1_underwater_1_1_global_pose_sensor_a0aec33d46ea1389791fdf0fc3f6ef6b3}{
\index{Zebulon::Underwater::GlobalPoseSensor@{Zebulon::Underwater::GlobalPoseSensor}!SetupService@{SetupService}}
\index{SetupService@{SetupService}!Zebulon::Underwater::GlobalPoseSensor@{Zebulon::Underwater::GlobalPoseSensor}}
\subsubsection[{SetupService}]{\setlength{\rightskip}{0pt plus 5cm}int GlobalPoseSensor::SetupService ()\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{class_zebulon_1_1_underwater_1_1_global_pose_sensor_a0aec33d46ea1389791fdf0fc3f6ef6b3}


This method is called to indicate what type of input/output messages and service the component supports. \begin{DoxyReturn}{Returns}
Jaus::OK; 
\end{DoxyReturn}


The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
C:/Users/Matt/Documents/School/Robotics/zebulon/v2/underwater/include/underwater/globalposesensor.h\item 
C:/Users/Matt/Documents/School/Robotics/zebulon/v2/underwater/src/underwater/globalposesensor.cpp\end{DoxyCompactItemize}
